package com.ctshk.rpc.starvip.dto.start_vip.member;

import com.ctshk.rpc.starvip.util.JAXBDateFromater;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import java.io.Serializable;
import java.time.LocalDate;

/**
 * @BelongsProject: ctshk-cloud
 * @BelongsPackage: com.ctshk.rpc.starvip.dto.start_vip.member
 * @Author: hef
 * @CreateTime: 2021-04-12 20:32
 * @Description: 描述
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@XmlRootElement(name = "CtsMemberExpirationPoint")
public class CtsMemberExpirationPoint implements Serializable {
    /**
     * 集团会员编号
     */
    @XmlElement(name = "MemberId")
    private String memberId;

    /**
     * 开始日期 MM/DD/YYYY
     */
    @XmlElement(name = "StartDate")
    @XmlJavaTypeAdapter(value = JAXBDateFromater.class)
    private LocalDate startDate;

    /**
     * 结束日期 MM/DD/YYYY
     */
    @XmlElement(name = "EndDate")
    @XmlJavaTypeAdapter(value = JAXBDateFromater.class)
    private LocalDate endDate;

    /**
     * 点数值
     */
    @XmlElement(name = "AccrualedValue")
    private String accrualedValue;
    /**
     * 处理日期
     */
    @XmlElement(name = "EffectivityDate")
    @XmlJavaTypeAdapter(value = JAXBDateFromater.class)
    private LocalDate effectivityDate;

    /**
     * 积分有效期
     *
     */
    @XmlElement(name = "ExpirationDate")
    @XmlJavaTypeAdapter(value = JAXBDateFromater.class)
    private LocalDate expirationDate;
    /**
     * 会员标准卡号
     */
    @XmlElement(name = "MemberNumber")
    private String memberNumber;
    /**
     * 点数类型
     */
    @XmlElement(name="PointType")
    private String pointType;
    /**
     * 交易开始日期
     */
    @XmlElement(name="TransactionDate")
    @XmlJavaTypeAdapter(value = JAXBDateFromater.class)
    private LocalDate TransactionDate;
    /**
     * 集团交易编号
     */
    @XmlElement(name="TransactionId")
    private String transactionId;
    /**
     * 已使用点数值
     */
    @XmlElement(name="UsedValue")
    private String usedValue;

    @XmlTransient
    public String getAccrualedValue() {
        return accrualedValue;
    }
    @XmlTransient
    public LocalDate getEffectivityDate() {
        return effectivityDate;
    }
    @XmlTransient
    public LocalDate getExpirationDate() {
        return expirationDate;
    }
    @XmlTransient
    public String getMemberNumber() {
        return memberNumber;
    }
    @XmlTransient
    public String getPointType() {
        return pointType;
    }
    @XmlTransient
    public LocalDate getTransactionDate() {
        return TransactionDate;
    }
    @XmlTransient
    public String getTransactionId() {
        return transactionId;
    }
    @XmlTransient
    public String getUsedValue() {
        return usedValue;
    }

    @XmlTransient
    public String getMemberId() {
        return memberId;
    }

    @XmlTransient
    public LocalDate getStartDate() {
        return startDate;
    }

    @XmlTransient
    public LocalDate getEndDate() {
        return endDate;
    }
}
